package com.jms.crawler.util;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Locale;

/**
 * 日期格式化工具类
 * 用于将微博日期格式化
 * @author liu_jshan
 * @version 1.0 20240510
 */
public class DateFormat {

    public static Date format(String date_str) throws ParseException {
        SimpleDateFormat sdf = new SimpleDateFormat("EEE MMM dd HH:mm:ss Z yyyy", Locale.ENGLISH);
        return sdf.parse(date_str);
    }

    public static Date format_cn(String date_str) throws ParseException {
        SimpleDateFormat sdf;
        int index = date_str.indexOf("转");
        if (index != -1) date_str = date_str.substring(0, index - 1);
        if (date_str.indexOf("-") > 0) {
            if (date_str.length() < 16  && date_str.length() > 8) {
                sdf = new SimpleDateFormat("yyyy");
                String year = sdf.format(new Date());
                date_str = year + "-" + date_str;
                sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm");
                return sdf.parse(date_str);
            } else {
                return new Date();
            }
        } else {
            if (date_str.length() < 17  && date_str.length() > 8) {
                sdf = new SimpleDateFormat("yyyy");
                String year = sdf.format(new Date());
                date_str = year + "年" + date_str;
                sdf = new SimpleDateFormat("yyyy年MM月dd日 HH:mm");
                return sdf.parse(date_str);
            } else {
                return new Date();
            }
        }
    }

    public static String getDateName(Date date) {
        SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
        return sdf.format(date);
    }

    public static String getDateTime(Date date) {
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd-HHmmss");
        return sdf.format(date);
    }
}
